home *** CD-ROM | disk | FTP | other *** search
- /*
- #### # # # #
- # # # # # The FreeWare C library for
- # # ## ### # # # # ### RISC OS machines
- # # # # # # # # # # # ___________________________________
- # # #### ### ## # # # #
- # # # # # # # # # # Please refer to the accompanying
- #### ### #### # # ##### # ### documentation for conditions of use
- ________________________________________________________________________
-
- File: Pane.c
- Author: Copyright © 1994 Ainsley Pereira. Major code rewrite by Keith Hall
- Version: 1.11 (30th March 94)
- Purpose: Handles windows with panes.
- */
-
- #include <stdlib.h>
-
- #include "DeskLib:Pane.h"
-
- #include "PaneDefs.h"
-
-
- extern pane_data *Pane_GetSysHandle(window_handle master)
- {
- curpane = pane_root;
-
- while(curpane)
- {
- if(curpane->panedata.master == master)
- return &curpane->panedata;
- curpane = curpane->next;
- }
- return NULL;
- }
-
-
- extern int Pane_SetFlags(window_handle master, int flags)
- {
- curpane = pane_root;
-
- while(curpane)
- {
- if(curpane->panedata.master == master)
- {
- if(flags>=0)
- curpane->panedata.flags.value=flags;
- return curpane->panedata.flags.value;
- }
- curpane = curpane->next;
- }
- return NULL;
- }
-
-
- extern void Pane_Delete(window_handle window)
- {
- pane_link *lastpane=curpane=pane_root;
-
- while(curpane)
- {
- if(curpane->panedata.master == window)
- {
- Window_Delete(curpane->panedata.master);
- Window_Delete(curpane->panedata.pane);
- lastpane->next=curpane->next;
- free(curpane);
- if(lastpane->next==NULL)
- break;
- curpane=lastpane->next;
- }
- lastpane=curpane;
- curpane = curpane->next;
- }
- }
-